package com.escool.model;

// Generated Jan 27, 2013 4:59:48 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TbRotacionesHasActividad generated by hbm2java
 */
@Entity
@Table(name = "tb_rotaciones_has_actividad")
public class TbRotacionesHasActividad implements java.io.Serializable {

	private Integer idRotacionesHasActividad;
	private TbRotaciones tbRotaciones;
	private TbActividad tbActividad;
	private Float porcentajeActividad;
	private Integer periodoEvaluacion;
	private Character cargado;
	private Set<TbExpedienteMateriaHasRotacionesActividad> tbExpedienteMateriaHasRotacionesActividads = new HashSet<TbExpedienteMateriaHasRotacionesActividad>(
			0);

	public TbRotacionesHasActividad() {
	}

	public TbRotacionesHasActividad(TbRotaciones tbRotaciones,
			TbActividad tbActividad) {
		this.tbRotaciones = tbRotaciones;
		this.tbActividad = tbActividad;
	}

	public TbRotacionesHasActividad(
			TbRotaciones tbRotaciones,
			TbActividad tbActividad,
			Float porcentajeActividad,
			Character cargado,
			Set<TbExpedienteMateriaHasRotacionesActividad> tbExpedienteMateriaHasRotacionesActividads) {
		this.tbRotaciones = tbRotaciones;
		this.tbActividad = tbActividad;
		this.porcentajeActividad = porcentajeActividad;
		this.cargado = cargado;
		this.tbExpedienteMateriaHasRotacionesActividads = tbExpedienteMateriaHasRotacionesActividads;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_rotaciones_has_actividad", unique = true, nullable = false)
	public Integer getIdRotacionesHasActividad() {
		return this.idRotacionesHasActividad;
	}

	public void setIdRotacionesHasActividad(Integer idRotacionesHasActividad) {
		this.idRotacionesHasActividad = idRotacionesHasActividad;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "tb_rotaciones_idtb_rotaciones", nullable = false)
	public TbRotaciones getTbRotaciones() {
		return this.tbRotaciones;
	}

	public void setTbRotaciones(TbRotaciones tbRotaciones) {
		this.tbRotaciones = tbRotaciones;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "tb_actividad_id_actividad", nullable = false)
	public TbActividad getTbActividad() {
		return this.tbActividad;
	}

	public void setTbActividad(TbActividad tbActividad) {
		this.tbActividad = tbActividad;
	}

	@Column(name = "porcentaje_actividad", precision = 12, scale = 0)
	public Float getPorcentajeActividad() {
		return this.porcentajeActividad;
	}

	public void setPorcentajeActividad(Float porcentajeActividad) {
		this.porcentajeActividad = porcentajeActividad;
	}

	@Column(name = "periodo_evaluacion")
	public Integer getPeriodoEvaluacion() {
		return this.periodoEvaluacion;
	}

	public void setPeriodoEvaluacion(Integer periodoEvaluacion) {
		this.periodoEvaluacion = periodoEvaluacion;
	}
	
	@Column(name = "cargado", length = 1)
	public Character getCargado() {
		return this.cargado;
	}

	public void setCargado(Character cargado) {
		this.cargado = cargado;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "tbRotacionesHasActividad")
	public Set<TbExpedienteMateriaHasRotacionesActividad> getTbExpedienteMateriaHasRotacionesActividads() {
		return this.tbExpedienteMateriaHasRotacionesActividads;
	}

	public void setTbExpedienteMateriaHasRotacionesActividads(
			Set<TbExpedienteMateriaHasRotacionesActividad> tbExpedienteMateriaHasRotacionesActividads) {
		this.tbExpedienteMateriaHasRotacionesActividads = tbExpedienteMateriaHasRotacionesActividads;
	}

}
